home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Doxdisk 23 MWB.adf / 9 < prev    next >
Text File  |  1991-11-11  |  21KB  |  462 lines

  1. ***********************************************************************
  2. *                                                                     *
  3. *             DiskRepair V1.13 - written 1991 by P.Röhrich            *
  4. *                                                                     *
  5. ***********************************************************************
  6. *                  *                                                  *
  7. * Autor: Datum:    * Schnellstes Disketten/Festplatten Repair-Tool    *
  8. * ------ --------- * für den Amiga                                    *
  9. * Pur    16.09.91  *                                                  *
  10. *                  *                                                  *
  11. ***********************************************************************
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18. -----------------------------------------------------------------------
  19.                         - Achtung Beta-Tester -
  20.  
  21. DAS  DATEIFORMAT  DER  BACKUPDATEIEN  FÜR "Backup RDSK" HAT SICH IN DER
  22. ENDVERSION  VON  DiskRepair  V1.11  GEÄNDERT.   BITTE EVTL.  VORHANDENE
  23. BACKUPDATEIEN AKTUALISIEREN.
  24. -----------------------------------------------------------------------
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.                              - Wichtig! -
  32.  
  33. DiskRepair  benötigt ca. 60 KByte  Arbeitsspeicher  und einen Stack von
  34. min.   8192 Bytes.  Ist der Stack zu klein gewählt worden, erhalten Sie
  35. einen entsprechenden Hinweis von DiskRepair.
  36.  
  37. Sollte im Verlauf der Korrekturarbeiten ein Stacküberlauf auftreten, so
  38. müssen  Sie  die  Stackgröße  erhöhen,  und  das  Programm  noch einmal
  39. starten.  Ein solcher Stacküberlauf tritt nur auf, wenn die zu prüfende
  40. Partition/Diskette  weit  mehr  als 3300 Einträge (Verzeichnisse zählen
  41. auch  mit)  beinhaltet.   Aus  Geschwindigkeitsgründen  wurde  auf eine
  42. Stacküberprüfung  während das Programmablaufes verzichtet.  Daher kommt
  43. es bei einem Stacküberlauf zu einem "Software Failule - Task held".
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.                           - Besonderheiten! -
  51.  
  52. Es  stehen  zwei  Versionen  des DiskRepair zur Verfügung.  Erstens die
  53. 68000  und  zweitens  die 68020/30 Version.  Verfügen Sie über ein ent-
  54. sprechendes  Turboboard,  sollten  Sie auch diese Version verwenden, da
  55. diese  etwas  schneller  ist.  Ein 68881/82 Coprozezzor ist dabei nicht
  56. notwendig.
  57.  
  58. Hinweis!     Die   Turboversion   wird   ab  Version  1.11  nicht  mehr
  59.              mitgeliefert.   Sollte  jemand die Turboversion benötigen,
  60.              so bitte ich um Mitteilung.
  61.  
  62.              In  dieser  Version  wird noch nicht auf Verkettungsfehler
  63.              geprüft.
  64.  
  65. DiskRepair  arbeitet ab Kickstart 1.3.  Ab besten jedoch Kickstart 2.0,
  66. da hier die erweiterten Fehlermeldungen von 2.0 unterstützt werden.
  67.  
  68. DiskRepair  ist nicht zum Wiederherstellen von gelöschen Verzeichnissen
  69. oder  Dateien  gedacht.  DiskRepair ist konzipiert um die am häufigsten
  70. auftretenden  Fehler  schnell  zu  beseitigen.   Dabei  werden  nur die
  71. Verzeichnisse  oder  Dateien  repariert,  die auch noch vorhanden sind.
  72. Dabei  MUSS  der  Rootblock  des  ausgewählten  Devices  vorhanden ein.
  73. Folgende Fehler werden erkannt und beseitigt:
  74.  
  75.   1. Block has checksum error
  76.   2. Block has bad header type
  77.   3. Block has bad headerkey
  78.   4. Block has bad ownkey
  79.   5. Key already set
  80.   6. Key out of range
  81.   7. Key mismatch error
  82.   8. File/directory has bad blocktype
  83.  
  84.  
  85. Geprüft werden:
  86.  
  87.         Alle Blöcke, die von der Baumstruktur her belegt werden
  88.         Prüfsummen aller Blocktypen
  89.         Alle zu prüfenden Blöcke werden auf Harderrors untersucht
  90.         Alle Arten von Blocktypen
  91.         Zeiger auf übergeordnetes Verzeichnis
  92.         Zeiger auf Dateiheader
  93.         Zeiger auf den eigenen Block, wenn es der Blocktyp erfordert
  94.         Bei DOS\0-Devices wahlweise alle Data-Blöcke der entprechenden
  95.         Datei
  96.         Dateilänge in Blocks
  97.         Ob Blöcke mehrfach belegt sind
  98.         Ob Zeiger auf Blöcke innerhalb des gültigen Bereiches liegen
  99.  
  100. Der Erfolg:
  101.  
  102. Alle  geprüften  Dateien,  soweit diese repariert werden konnten (keine
  103. Harderrors   auf   den   Datenblöcken),   sind    nach   Abschluß   der
  104. Korrekturarbeiten  wieder  uneingeschränkt  benutzbar.   Nicht  belegte
  105. Blöcke (also freie Blöcke) können natürlich noch Fehler aufweisen.
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.                              - Bedienung -
  113.  
  114. Wenn  das  Programm  gestartet  wurde,  wird  als  Vorgabe,  bei  jedem
  115. gefundenen   Fehler   ein  Infofenster  ausgegeben,  in  dem  Sie  dann
  116. entscheiden  können  ob  der  Fehler  beseitigt werden soll oder nicht.
  117. Soll   DiskRepair   alle  Fehler  selbständig,  also   ohne  Nachfrage,
  118. beseitigen,  so müssen Sie diese Funktion im Pulldown-Menü ausschalten.
  119. Einzige  Ausnahme  ist,  wenn  ein  Block  mit  einem einem unbekannten
  120. Blocktyp gefunden wurde, hier müssen Sie dann entscheiden ob es sich um
  121. eine Datei oder um ein Verzeichnis handelt.
  122.  
  123. Ist die zu prüfende Diskette/Festplattenpartition im alten FilingSystem
  124. formatiert,  so  werden,  als Vorgabe, alle gefundenen Dateien komplett
  125. geprüft.   Wenn  dies  nicht  gewünscht  ist,  kann  diese  Funktion im
  126. Pulldown-Menü  ausschaltet  werden.  In diesem Fall werden dann nur die
  127. Fileheader-Blöcke geprüft.
  128.  
  129. Sollte  DiskRepair  im Verlauf der Korrekturarbeiten Harderrors auf dem
  130. ausgewählten  Device  feststellen,  kann  nach Ablauf der Arbeiten eine
  131. Fehlerliste  Namens  "RAM:Errors.LST"  erstellt werden.  In dieser sind
  132. dann  alle  Harderrors  des  Devices enthalten.  Sollte das Ausgewählte
  133. Device  eine  Festplattenpartition  sein,  so  können   Sie  mit  Ihrer
  134. Installationssoftware  zur Festplatte  nun die defekten Blöcke sperren.
  135. Eine solche Fehlerliste kann z.B. so aussehen:
  136.  
  137.                      Device : hddisk.device
  138.                      Unit   : 0   (DH0:)
  139.                      ------------------------------
  140.                      Error on diskblock 882
  141.                      Error on diskblock 903
  142.                      Error on diskblock 622
  143.  
  144. HINWEIS!      Sollte beim Start des Programms die Systemmeldung "Volume
  145.               $  has  a checksum error on disk block #", so beantworten
  146.               Sie diese Meldung IMMER mit "Cancel".  Dieser Fehler wird
  147.               sofort, nachdem Sie "Cancel" angeklickt haben, beseitigt.
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.                              - Das Menü -
  155.  
  156. Das Pulldown-Menü enthält die folgenden Punkte und Shortcuts:
  157.  
  158.               DeviceInfo          D
  159.               CheckDOS\0-Files    C
  160.               Ask befor repair    A
  161.               Scan errors         E
  162.               Validate disk       V
  163.               About               I
  164.               ---------------------
  165.               Backup RDSK         B
  166.               Restore RDSK        R
  167.               ---------------------
  168.               Backup LIVE         S
  169.               Restore LIVE        W
  170.               Quit                Q
  171.  
  172. DeviceInfo             - Hat  die  gleich  Funktion, als würde  man das
  173.                          Grafik-Gadget anklicken.
  174.  
  175.  
  176. CkeckDOS\0-Files       - Wenn  dieser  Menüpunkt  zu  sehen ist, werden
  177.                          alle  Datenblöcke,  des  jeweiligen Files, auf
  178.                          einem  Device mit StandardFileSystem, geprüft.
  179.                          Wird  dieser  Menüpunkt ausgewählt, werden nur
  180.                          die  FileHeaderBlöcke  geprüft.  Der Menüpunkt
  181.                          ändert sich dann in "Don't check DOS\0-Files".
  182.  
  183. Ask befor repair       - Ist dieser Menüpunkt zu sehen, wird DiskRepair
  184.                          bei  jedem  gefundenen  Fehler ein Infofenster
  185.                          ausgegeben, in dem Sie dann entscheiden können
  186.                          ob  der  Fehler  beseitigt  werden  soll  oder
  187.                          nicht.   Wird  dieser   Menüpunkt  ausgewählt,
  188.                          ändert sich der Menüpunkt  in "Don't ask befor
  189.                          repair" und DiskRepair beseitigt  alle  Fehler
  190.                          selbständig.
  191.  
  192. Scan errors            - Startet   man   diese   Funktion,   wird   das
  193.                          ausgewählte   Device   komplett   auf   Fehler
  194.                          untersucht.    Dieser  Vorgang  kann  je  nach
  195.                          Anzahl  der  Blöcke,  mehrere  Minuten dauern.
  196.                          Sollte  DiskRepair Fehler auf dem ausgewählten
  197.                          Device   feststellen,  kann  nach  Ablauf  des
  198.                          Scan-Vorgangs    eine    Fehlerliste    Namens
  199.                          "RAM:Errors.LST"   erstellt   werden.    Diese
  200.                          enthält dann eine Aufstellung aller Fehler des
  201.                          Devices.   Während  das  gesamten Scanvorgangs
  202.                          werden  keinerlei  Fehlermeldungen  ausgegeben
  203.                          die  beantwortet  werden müssen.  Das Programm
  204.                          kann also unbeaufsichtigt weiterarbeiten.
  205.  
  206. Validate disk          - Mit Hilfe dieser Funktion wird das ausgewählte
  207.                          Device  validiert.   Bitte beachten Sie dabei,
  208.                          daß  in  der  Statuszeile schon "READY" stehen
  209.                          kann,   aber  Validierungsvorgang  noch  nicht
  210.                          abgeschlossen   ist.   Warten  Sie  daher  mit
  211.                          jeglichen    Diskettenoperationen,   bis   die
  212.                          Laufwerkslampe erloschen ist.
  213.  
  214. About                  - Infofenster  über  die  Herkunft des Programms.
  215.                          In diesem Fenster wird auch die maximale Anzahl
  216.                          der der zu prüfenden Einträge angezeigt.  Dabei
  217.                          ist   die   Anzahl   vom  freien  Speicherplatz
  218.                          abhängig.   Maximal  werden  jedoch  1.000.000
  219.                          Bytes von DiskRepair allokiert.  Das entspircht
  220.                          genau  117.647  Einträgen.   Nach Programmstart
  221.                          müssen  jedoch  mindestens  30.000  (  =  3.529
  222.                          Einträge)  Bytes Speicher frei sein, anderfalls
  223.                          bricht  das  Programm  mit einem entsprechenden
  224.                          Hinweis ab.  Im Normalfall allokiert DiskRepair
  225.                          immer    soviel,    daß   man   problemlos   im
  226.                          Multitasking weiterarbeiten kann.
  227.  
  228. Backup RDSK-Blocks     - Wenn  Sie diese Funktion auswählen, werden die
  229.                          Blöcke  des  RigidDiskBlock,  der ausgewählten
  230.                          Festplatte   auf   Diskette  gesichert.   Dies
  231.                          sollten Sie auch UNBEDINGT BEIM ERSTEN EINSATZ
  232.                          von  DiskRepair  tun UND IMMER WENN ÄNDERUNGEN
  233.                          AN  DEN  PARTITIONEN  MIT IHRER INSTALLATIONS-
  234.                          SOFTWARE  VORGENOMMEN  WURDEN.  Denn  wenn die
  235.                          Informationen  im  RigidDiskBlock  nicht  mehr
  236.                          vorhanden,  oder  zerstört sind, FÜHRT das ZUM
  237.                          VERLUST DES GESAMTEN PLATTENINHALTS.
  238.  
  239.                          Bitte  beachten  Sie  das  es unnötig und auch
  240.                          unmöglich  ist  ist,  bei einer Festplatte die
  241.                          mehrere   Partitionen   besitzt,   von   jeder
  242.                          Partition       ein      RigidDiskBlock-Backup
  243.                          anzufertigen.   Denn  nur  auf  der  untersten
  244.                          Partition        befinden       sich       die
  245.                          RigidDiskBlock-Blöcke.
  246.  
  247. Hinweis!      Sollte  kein,  nach  den von Commodore-Amiga vorgegebenen
  248.               Programmierkonventionen,  RigidDiskBlock gefunden werden,
  249.               so  bietet Ihnen DiskRepair die Möglichkeit, den gesamten
  250.               reservierten Plattenbereich zu sichern.
  251.  
  252.  
  253. Restore RDSK-Blocks    - Mit Hilfe dieser Funktion kann, im Falle eines
  254.                          Verlusts  des  RigidDiskBlock,  dieser  wieder
  255.                          aufgespielt   werden.    Vorausgesetzt  dieser
  256.                          wurde vorher mit "Backup RDSK" gesichert.  Ein
  257.                          versehentliches   Aufspielen   eines  falschen
  258.                          RigidDiskBlock  oder  einer  anderen Datei ist
  259.                          ausgeschlossen.   Um  dem  vorzubeugen, wurden
  260.                          mehrere Schutzmechanismen integriert.
  261.  
  262.                            1. Eindeutige Namensvergabe  bei den Sicher-
  263.                               ungsdateien. Z.B.: "RDSK-Backup_of_DH2"
  264.  
  265.                            2. Die  Sicherungsdatei  hat einen typischen
  266.                               Aufbau.   Erkennung  des  Dateitypes über
  267.                               "FORM", "DREP" und der Blockkennung "RD".
  268.  
  269.                            3. Erkennung   des  richtigen  Devices  über
  270.                               "DEV"     und     der     darauffolgenden
  271.                               Devicekennung.
  272.  
  273.                            4. Erkennung der Lage bzw. der  Position und
  274.                               der Länge des RigidDiskBlock.
  275.  
  276. Backup LIVE            - Mit  dieser  Funktion,  wird  er Rootblock und
  277.                          alle Bitmapblöcke des ausgewählten Devices auf
  278.                          Diskette   gesichert.    Sie   sollten   diese
  279.                          Funktion  immer  anwenden,  wenn  umfangreiche
  280.                          Änderungen    auf    der    Diskette/Partition
  281.                          vorgenommen    wurden.     Denn   wenn   diese
  282.                          Informationen   nicht   mehr  vorhanden,  oder
  283.                          zerstört  sind,  FÜHRT  das  ZUM  VERLUST  DES
  284.                          GESAMTEN DISKETTEN/PLATTENINHALTS.
  285.  
  286. Restore LIVE           - Hiermit  lassen  sich, im Falle eines Verlusts
  287.                          des  Rootblock  bzw.   der Bitmapblöcke, diese
  288.                          wieder  aufgespielen. Vorausgesetzt sie wurden
  289.                          vorher   mit  "Backup  LIVE"  gesichert.   Ein
  290.                          versehentliches   Aufspielen    von   falschen
  291.                          Blöcken    oder   einer   anderen   Datei  ist
  292.                          ausgeschlossen,  denn auch hier wurden mehrere
  293.                          Schutzmechanismen     integriert,    um    dem
  294.                          vorzubeugen.
  295.  
  296.                            1. Eindeutige Namensvergabe  bei den Sicher-
  297.                               ungsdateien. Z.B.: "LIVE-Backup_of_DH2"
  298.  
  299.                            2. Die  Sicherungsdatei  hat einen typischen
  300.                               Aufbau.   Erkennung  des  Dateitypes über
  301.                               "FORM", "DREP" und der Blockkennung "BM".
  302.  
  303.                            3. Erkennung   des  richtigen  Devices  über
  304.                               "DEV"     und     der     darauffolgenden
  305.                               Devicekennung.
  306.  
  307.                            4. Erkennung der Lage  bzw. der Position der
  308.                               einzelnen Blöcke.
  309.  
  310.  
  311. Quit                   - Hat  die  gleich  Funktion, als würde  man das
  312.                          Exit-Gadget anklicken.
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.                             - Die Gadgets -
  320.  
  321. In  dem  linken  Gadget  wird  das  gewünschte   Zieldevice  (Diskette/
  322. Festplattenpartition)  ausgewählt.   Durch jeden Klick wird jeweils das
  323. nächste  Device  angezeigt.  Dabei werden nur solche Devices angezeigt,
  324. die  auch  über  ein AmigaDOS-FilingSystem und den DosType 'DOS\0' oder
  325. 'DOS\1'  verfügen.   Klickt  man   das  Gadget  'Start'  an,  wird  der
  326. Scanvorgang  gestartet.   Anschließend  wird  aus  dem Start-Gadget ein
  327. Stop-Gadget. Man kann das Reparieren/Scannen also jederzeit abbrechen.
  328.  
  329. Wenn  Sie  ein  neues Device mounten  oder eine neue Diskette eingelegt
  330. haben,  nachdem  DiskRepair gestartet wurde, kann die Deviceliste durch
  331. einen Klick auf 'ReScan' neu eingelesen werden.
  332.  
  333. Das Exit-Gadget hat nur diese Funktion.
  334.  
  335. Das Gadget mit der Grafik dient als DeviceInfo.  Wenn Sie dieses Gadget
  336. anklicken,  erhalten  Sie eine komplette Übersicht über das ausgewählte
  337. Device. Eine solche Übersicht kann z.B. so aussehen:
  338.  
  339.                      Device : scsi.device
  340.                      Unit   : 0   (WB_2.x:)
  341.                      ------------------------------
  342.                      Surfaces      : 1
  343.                      BlocksPerTrack: 49
  344.                      Reserved      : 2
  345.                      Interleave    : 0
  346.                      LowCylinder   : 2
  347.                      HighCylinder  : 254
  348.                      Buffers       : 200
  349.                      BuffMemType   : 0
  350.                      Maxtransfer   : 16383 KBytes
  351.                      Mask          : 0x7ffffffe
  352.                      BootPri       : 2
  353.                      DosType       : 0x444f5301
  354.                      FileSystem    : FastFileSystem
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.                          - Die Statuszeilen -
  362.  
  363. Während  des  Programmablaufs  werden  in den Statuszeilen, der jeweils
  364. aktuelle  Dateiname,  das  dazugehörige  Verzeichnis,  die  Anzahl  der
  365. bereits  geprüften-  und  der  reparierten  Dateien/Verzeichnisse ange-
  366. gezeigt.
  367.  
  368. In  der  Zeile  'Status:'  können Sie ablesen was gerade von DiskRepair
  369. geprüft wird.  Hier kann folgendes stehen:
  370.  
  371.                      CHECKING DISKSTRUCTURE
  372.                      CHECKING FILE AND DIRECTORY HEADERS
  373.                      CHECKING EXTENSION-BLOCKS
  374.                      CHECKING FILE ON DOS\0-DEVICE
  375.                      CHECKING FOR KEY ALREADY SET ERRORS #%
  376.                      SCANNING DEVICE FOR ERRORS #%
  377.                      BACKING UP RDSK-BLOCKS
  378.                      RDSK-BLOCKS NOT BACKUPPED
  379.                      RESTORING RDSK-BLOCKS
  380.                      RDSK-BLOCKS NOT RESTORED
  381.                      BACKING UP LIVE-BLOCKS
  382.                      LIVE-BLOCKS NOT BACKUPPED
  383.                      RESTORING LIVE-BLOCKS
  384.                      LIVE-BLOCKS NOT RESTORED
  385.                      STOPPED BY USER
  386.                      READY
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393. --- Kommentar erwünscht -----------------------------------------------
  394.  
  395. Für Hinweise und Verbesserungsvorschläge bin ich jederzeit dankbar.
  396. Über Modem:
  397.  
  398.    Ghost-Box: 02104/81124  (1200-19200 Baud; 8-N-1, 24 Stunden online)
  399.  
  400.    Sytax:  1.   Login 'Gast'  oder Username falls schon eingetragen
  401.            2.   'Brief BEN'   Brief an mich
  402.            3.   'RETURN'      Text schreiben
  403.            4.   '.'           Beendet die Texteingabe
  404.  
  405. Per Post:
  406.               Peter Röhrich
  407.               Wildenbruchstr. 108
  408.               W-4000 Düsseldorf 11
  409.               West Germany
  410.  
  411. Vielen Dank.
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418. --- Legende -----------------------------------------------------------
  419.  
  420. V0.95  Erste einigermaßen funktionsfähige Version
  421.  
  422. V0.99  Voll funktionsfähige Version; FastFileSystem-Unterstützung
  423.        integriert
  424.  
  425. V0.99a Diverse Verbesserungen vorgenommen; Turboversion erstellt
  426.  
  427. V1.0   Umgeschrieben auf SASC 5.10a; Optimiert; erweiterte Fehler-
  428.        meldungen von Kick 2.0 integriert; Fileprüfung für DOS\0-
  429.        Devices integriert
  430.  
  431. V1.1   Alle Blocktypen werden untersucht; Prüfung auf übergeordnetes
  432.        Verzeichnis/Dateiheader; Prüfung der DOS\0-Data-Blöcke inte-
  433.        griert; Pulldown-Menüs integriert; Gadget/Menü-Disable
  434.        integriert; bis auf Verkettungsfehler, werden jetzt alle
  435.        Fehler erkannt und können beseitigt werden; Errorscan
  436.        integriert; Stack- und Stacküberlaufprüfung integriert;
  437.        DiskRepair arbeitet nun nur noch ab Kickstart 1.3
  438.  
  439. V1.11  RDSK-Block-Backup und -Restore integriert; div. Funktionen
  440.        optimiert; bei "CHECKING FOR KEY ALREADY SET ERRORS" und
  441.        "Scan errors" wurde der Blockzäher durch eine prozentuale
  442.        Ausgabe ersetzt; LIVE-Block-Backup und -Restore integriert;
  443.        die unter Kickstart 1.3 nicht richtig dimensionierten
  444.        Requester, werden nun richtig ausgegeben; jetzt wird immer
  445.        der Zeichensatz "topaz 8" angefordert - es gibt also keine
  446.        fehlerhaften Textausgaben mehr, wenn ein anderer Zeichensatz
  447.        über Preferences/Font eingestellt wurde
  448.  
  449. V1.12  Sollte bei "Scan errors" keine Diskette im entsprechenden
  450.        Laufwerk liegen, so wird der Scanvorgang nun abgebrochen;
  451.        Funktion "Validate disk" integriert; Fehler bei "Key already
  452.        set" und "Key out of range" beseitigt; die max. Anzahl der
  453.        der zu prüfenden Einträge, ist jetzt Speicherabhängig und
  454.        auf maximal 117.647 Einträge, je Partition/Diskette, begrenzt.
  455.  
  456. V1.13  Fehler bei OpenDevice beseitigt - wurde ein Device gefunden,
  457.        dessen Devicename größer 17 Zeichen war, so wurden alle Zeichen
  458.        ab dem 18. Zeichen abgeschnitten. Wenn auf das Devicegadget
  459.        geklickt wurde, so ist nicht immer der richtige Devicename an-
  460.        gezeigt worden. Dieser Bugreport ist von "Carnivore/BeerMacht"
  461.        Danke!
  462.